
//
//  BaseTableViewController.m
//  customer
//
//  Created by Holothurian on 2018/10/23.
//  Copyright © 2018年 yinlong. All rights reserved.
//

#import "BaseTableViewController.h"

static NSString *CellIdentifier = @"CellIdentifier";

@interface BaseTableViewController ()<UITableViewDelegate,UITableViewDataSource>


@end


@implementation BaseTableViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view.
    [self loadDataList];
    [self createBaseMainView];
}

- (void)createBaseMainView{
    self.tableView = [[UITableView alloc]initWithFrame:CGRectMake(0, NAVIGATION_BAR_HEIGHT, F_DEVICE_W, F_DEVICE_H - NAVIGATION_BAR_HEIGHT - TAB_BAR_HEIGHT) style:UITableViewStyleGrouped];
    self.tableView.delegate = self;
    self.tableView.dataSource = self;
    self.tableView.emptyTitle = @"暂无数据";
    self.tableView.emptyImg = @"noOrder";
    [self.view addSubview:self.tableView];
    self.tableView.estimatedRowHeight = 0;
    self.tableView.estimatedSectionHeaderHeight = 0;
    self.tableView.estimatedSectionFooterHeight = 0;
    self.tableView.showsVerticalScrollIndicator = NO;
    self.tableView.showsHorizontalScrollIndicator = NO;
    [self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:CellIdentifier];
    self.tableView.backgroundColor = [UIColor appColor];
}

- (void)loadDataList{
    
}

- (void)setRefreshEnabled:(BOOL)refreshEnabled{
    _refreshEnabled = refreshEnabled;
    if (refreshEnabled == YES) {
        [self createPullHeaderRefresh];
        [self createPullFooterRefresh];
    }
}

#pragma mark - 刷新
- (void)createPullHeaderRefresh{
    self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
        //下拉刷新的block 会被调用
        //清空数组数据
        //下拉刷新的时候是想请求第一页的数据
        self.page = 1;
        //请求解析 数据，刷新界面
        [self loadDataList];
        
    }];
}
/**
 *  添加上拉加载
 */
- (void)createPullFooterRefresh{
    self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{
        //请求数据
        // 把数据添加到数组里面
        //上拉加载会调用这个方法
        self.page++;
        [self loadDataList];
    }];
}

//结束刷新 （)
- (void)endReresh{
    if (!_refreshEnabled) {
        return;
    }
    if (self.page == 1) {
        //结束下拉刷新
        [self.tableView.mj_header endRefreshing];
    }else {
        //结束上拉加载
        [self.tableView.mj_footer endRefreshing];
    }
}

- (NSMutableArray *)dataList{
    if (!_dataList) {
        _dataList = [NSMutableArray array];
    }
    return _dataList;
}

#pragma mark - UITableViewDataSource
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}

- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return 0;
}

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    if (!cell) {
        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:CellIdentifier];
    }
    return cell;
}

- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
    return 0.001;
}

- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
    return 0.001;
}

- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
    return nil;
}

- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
    return nil;
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
